package com.talkweb.ncfw.security.permission;

import com.talkweb.ncfw.data.IUserSession;

/**
 * <p>文件名称: IFuncPermissionManager.java</p>
// * <p>文件描述: 功能许可管理器</p>
 * <p>版权所有: 版权所有(C)2010</p>
 * <p>内容摘要: 简要描述本文件的内容，包括主要模块、函数及能的说明</p>
 * <p>其他说明: 其它内容的说明</p>
 * <p>完成日期: 2011-10-23</p>
 * <p>修改记录1:</p>
 * <pre>
 *    修改日期:
 *    修 改 人:
 *    修改内容:
 * </pre>
 * <p>修改记录2：…</p>
 * @author  Wuqingming
 */
public interface IFuncPermissionManager {

	/**
	 * 
	 * @author：Wuqingming
	 * @date：2011-10-23
	 * @Description：判断功能访问许可
	 * @param userSession 用户session信息
	 * @param funccode 功能编号
	 * @return true: 拥有访问许可、拒绝访问
	 */
	public boolean hasFuncPermission (IUserSession userSession, String funccode);
	
	/**
	 * 
	 * @author：Wuqingming
	 * @date：2011-10-23
	 * @Description：添加新的功能许可数据
	 * @param funcPermissions
	 */
	public void addFuncPermissions (FuncPermission... funcPermissions);
	
	/**
	 * 
	 * @author：Wuqingming
	 * @date：2011-10-23
	 * @Description：移除功能许可数据
	 * @param funccodes 功能编号数组
	 */
	public void removeFuncPermissions (String... funccodes);
	
	/**
	 * 
	 * @author：Wuqingming 	        
	 * @date：2011-10-23 
	 * @Description：移除所有功能许可数据
	 */
	public void removeAllFuncPermission ();
}

